import { Base } from "../core/Base";
/**
 * 实体管理类
 * @author jiangjinwei
 */
class EntityManager extends Base{
    constructor(opts={}){
        super(opts);
        this._entities=new Map();
    }
    get entities(){
        return this._entities;
    }
    /**
     * 添加实体
     * @param {Entity} entity 实体实例。
     * @returns {EntityManager} 返回实体管理类。
     */
    add(entity){
        this.entities.set(entity.id,entity);
        return this;
    }
    /**
     * 移除实体
     * @param {*} entity 实体实例ID。
     * @returns {EntityManager} 返回实体管理类。
     */
    remove(id){
        this.entities.delete(id);
        return this;
    }
    /**
     * 获取实体
     * @param {*} entity 实体实例ID。
     * @returns {Entity} 返回实体实例。
     */
    get(id){
        return this.entities.get(id);
    }
    /**
     * 是否存在该实体。
     * @param {*} entityId 实体实例ID。
     * @returns {Boolean} 实体是否存在。
     */
    has(id){
        return this.entities.has(id);
    }
    clear(){
        this._entities.clear();
    }
}
export {EntityManager}